"""
资源限制：512.0MB
时间限制：5.0s
问题描述：给定一个长度为n的数列，将这个数列按从大到小的顺序排列。1 <= n <=200
输入格式：
    第一行为一个整数n
    第二行是包含n个整数，为待排序的数，每个整数的绝对值小于10000
输出格式：
    输出一行，按从小到大的顺序输出排序后的数列
样例输入：
    5
    8 3 6 4 9
样例输出：
    3 4 6 8 9
"""
"""
分析
1. 一共输入两次数值
   1.1 第一次是n个整数
   1.1 第二次是一个n个数组成的整数组（可不可以使用split函数呢？）   
2. 针对第二次的数值进行排序 
    2.1使用sort函数（永久排序函数）==失败原因== 输出是个列表
    
    
"""
# 方法一：
a = int(input())
b = input().split()
b.sort()
for num in b:
    print(num, end=" ")
"""
但是，蓝桥杯判断不完全正确
"""
# 方法二：
a = int(input())
b = input().split()
b.sort()
c = []
i = 0
while i < a:
    c.append(int(b[i]))
    i += 1
for num in c:
    print(num, end=" ")  # 结尾以空格形式结束
'''
还是失败了，原因是列表c再排序
'''
# 方法三：
# 采用python的列表推导式 x for x in，空格隔开输出
a = int(input())
b = input().split()
c = []
i = 0
while i < a:
    c.append(int(b[i]))
    i += 1
c.sort()
print(" ".join(str(x) for x in c))
'''
正确了,还是说需要新创建一个列表再进行排序
'''
# 方法四
a = int(input())
b = input().split()
c = []
i = 0
while i < a:
    c.append(int(b[i]))
    i += 1
c.sort()
for num in c:
    print(num, end=" ")  # 结尾以空格形式结束
